package xcmg.device.service.vo.sale;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class AgentSalesOutDetailVO {

    /**
     * 代理商名称
     */
    private String agentName;
    /**
     * 客户名
     */
    private String clientName;

    /**
     * 客户名
     */
    private String clientId;


    /**
     * 联系方式
     */
    private String contactPhone;
    /**
     * 所属公司
     */
    private String shortName;
    /**
     * 客户分类
     */
    private String className;
    /**
     * 客户等级
     */
    private String dealerLevelName;
    /**
     * 是否大客户：0否1是
     */
    private Integer bigClientFlag;
    /**
     * 维护状态：1正常维护，2已流失
     */
    private Integer normalFlag;
    //车辆编码;
    private String useMachineNo;
    //保修状态。1在保，2出保
    private Integer warrantyStatus;

    private String materialNo;
    private String materialDes;
    //零件分类
    private String materialClassName;
    //进货基准价;
    private BigDecimal price;
    // 零售目录价;
    private BigDecimal guidePrice;
    //成本价;
    private BigDecimal standardPrice;
    //终端销售价;
    private BigDecimal singlePrice;
    //出库数量
    private BigDecimal outboundQty;
    //销售金额
    private BigDecimal amount;
    //销售出库单号
    private String salesOutBillNo;
    //订单类型：1普通，2三保，3赠送
    private Integer billType;
    //服务人员
    private String servicePersonName;
    //出库时间
    private Date outboundDate;
    //出库仓库
    private String outArea;

    //结算状态：0未结算，1部分结算，2已结算
    private Integer checkState;

    // 出库时间（查询用，查询开始时间）
    private Date startOutboundTime;

    //出库时间（查询用，查询结束时间）
    private Date endOutboundTime;

    private String orgId;

    /**
     * 是否主机厂：0否1是
     */
    private Integer coreCompanyFlag;

    private String platOrgId;

    /**
     * 销售渠道
     */
    private Integer saleType;

    private List<String> angetOrgIds;

    private String dealerOrgId;

    public String getNormalFlagStr() {
        /**
         * 维护状态：1正常维护，2已流失
         */
        if (null == this.normalFlag) {
            return "";
        }

        if (this.normalFlag.equals(1)) {
            return "正常维护";
        } else if (this.normalFlag.equals(2)) {
            return "已流失";
        } else {
            return "";
        }
    }

    public String getWarrantyStatusStr() {
        /**
         * 维护状态：1正常维护，2已流失
         */
        if (null == this.warrantyStatus) {
            return "";
        }

        if (this.warrantyStatus.equals(1)) {
            return "在保";
        } else if (this.warrantyStatus.equals(2)) {
            return "出保";
        } else {
            return "";
        }
    }

    public String getBillTypeStr() {
        if (null == this.billType) {
            return "";
        }

        if (this.billType.equals(1)) {
            return "普通";
        } else if (this.billType.equals(2)) {
            return "三包";
        } else if (this.billType.equals(3)) {
            return "赠送";
        } else {
            return "";
        }
    }


    public String getSaleTypeStr() {
        if (null == this.saleType) {
            return "";
        }

        if (this.saleType.equals(0)) {
            return "其它";
        } else if (this.saleType.equals(1)) {
            return "服务人员渠道";
        } else if (this.saleType.equals(2)) {
            return "电商渠道";
        } else if (this.saleType.equals(3)) {
            return "专营店渠道";
        } else if (this.saleType.equals(4)) {
            return "展会渠道";
        } else if (this.saleType.equals(5)) {
            return "电话销售渠道";
        } else {
            return "";
        }
    }


    public String getCheckStateStr() {
        if (null == this.checkState) {
            return "";
        }

        if (this.checkState.equals(0)) {
            return "未结算";
        } else if (this.checkState.equals(1)) {
            return "部分结算";
        } else if (this.checkState.equals(2)) {
            return "已结算";
        } else {
            return "";
        }
    }
}
